*{
    margin: 0;
    padding: 0;
    /* 告诉浏览器：你想要设置的边框和内边距的值是包含在 width 内的。也就是说，如果你将一个元素的 width 设为 100px，那么这 100px 会包含它的 border 和 padding，内容区的实际宽度是 width 减 去(border + padding) 的值。大多数情况下，这使得我们更容易地设定一个元素的宽高。
注：border-box 不包含 margin */
    box-sizing: border-box;
    color: rgba(255, 255, 255, 0.6);
}
.wrap{
    width: 100%;
    height: 100vh;
    background: linear-gradient(200deg,#72afd3,#96fbc4);
    background-size:cover ;
    display: flex;
    justify-content: center;
    align-items: center;
}
.nav{
    /* 这里为了便于观察 - 可以将宽度先改每自己想要:hoverd的大小 */
    width: 110px;
    height: 820px;
    background: rgba(0,0,0,0.8);
    border-radius: 20px;
    overflow: hidden;
    transition: 0.5s;
}
.nav:hover{
    width: 280px;
}
/* 上面红 黄 绿的样式 */
.btn{
    width: 60px;
    height: 10px;
    display: flex;
    /* 每个项目两侧的间隔相等。所以，项目之间的间隔比项目与边框的间隔大一倍。 */
    justify-content: space-around;
    /* top right bottom left */
    margin: 20px 0 0 25px;
}
.btn-item{
    width: 10px;
    height: 10px;
    border-radius: 50%;
}
/* 选择器匹配属于其父元素的第 N 个子元素，不论元素的类型。 */
.btn-item:nth-child(1){
    background: #eb5a56;
}
.btn-item:nth-child(2){
    background: #f8bc33;
}
.btn-item:nth-child(3){
    background: #62cb44;
}
/* 头像的样式 */
.icon{
    width: 250px;
    height: 60px;
    margin: 20px 0 0 25px;
    display: flex;
}
.icon-img{
    width: 60px;
    height: 60px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.3);
    overflow: hidden;
}
.icon-img img{
    width: 100%;
    height: 100%;
    border-radius: 50%;
    /* 防止图片挤压 */
    object-fit: cover;
}
.icon-con{
    height: 60px;
    margin-left: 25px;
}
.icon-con p{
    padding-top: 5px;
}
.icon-con h2{
    font-weight: 400;
}
/* line 分割线的样式 */
.line{
    width: 60px;
    height: 1px;
    background: rgba(255, 255, 255, 0.5);
    margin: 20px 25px;
    transition: 0.5s;
}
.nav:hover .line{
    width: 230px;
}

/* title的样式 */
.title{
    width: 60px;
    margin: 0 0 20px 25px;
}
.title p{
    font-size: 14px;
}
/* 菜单的样式 */
.menu{
    width: 230px;
    margin-left: 25px;
}
.item{
    display: flex;
    position: relative;
    transition: 0.5s;
    border-radius: 6px;
}
.item:hover{
    background: rgba(255, 255, 255, 0.2);
}
.licon{
    width: 60px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
}
/* con 内容样式先隐藏起来 width宽度  overflow溢出 opacity透明度 */
.con{
    width: 0;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: 0.5s;
    overflow: hidden;
    position: relative;
    left: -20px;
    opacity: 0;
}
.nav:hover .con{
    width: 160px;
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 1;
}
.ricon{
    width: 0px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    opacity: 0;
    /* transition: 0.1s; */
}
.nav:hover .ricon{
    width: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 1;
}
.ricon .fa.fa-cogs,.fa.fa-mars{
    font-size: 20px;
    color: #62cb44;
}
/* light 左侧红色线条的效果 前面的html布局还是很重要的 */
.light{
    width: 6px;
    height: 50px;
    background: #eb5a56;
    position: absolute;
    left: -25px;
    transition: 0.5s;
    /*  */
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
    opacity: 0;
}
.item:hover .light{
    opacity: 1;
}
.server{
    width: 60px;
    background: rgba(0,0,0,0.7);
    margin-left: 25px;
    border-radius: 10px;
    overflow: hidden;
    transition: 0.5s;
}
.nav:hover .server{
    width: 230px;
}